package mx.vlabs.jpautils.eao.local;

import java.io.Serializable;
import java.util.List;

import mx.vlabs.jpautils.eao.api.EAOParams;
import mx.vlabs.jpautils.eo.EO;


public interface EAOLocal<T extends EO<PK>,PK extends Serializable>{
	
	/* READING METHODS */
	public T get(PK id);
	public T find(EAOParams conditions);
	public List<T> findAll(EAOParams params);
	public List<T> list();
	public long count(EAOParams params);
	
	/* WRITING METHODS */
	public T save(T eo);
	public T save(T eo,boolean flush);
	public void flush();
	public PK delete(PK id);

}
